{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 22823 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 22810 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 25968 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 20154 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 24819 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 35201 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 25913 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 36896 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 36825 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 20010 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 19990 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 30028 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 20294 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 21364 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 32597 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 26377 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 33258 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 24049 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 22823 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 22810 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 25968 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 20154 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 24819 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 35201 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 25913 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 36896 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 36825 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 20010 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 19990 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 30028 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 20294 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 21364 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 32597 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 26377 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 33258 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n",
      "E:\\software\\anoconda\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 24049 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "(0.0, 1.0, 0.0, 1.0)"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADnCAYAAAC9roUQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAADKUlEQVR4nO3UMQEAIAzAMMC/5+GiHCQKenXPzAKgcV4HAPzEdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIGS6ACHTBQiZLkDIdAFCpgsQMl2AkOkChEwXIHQBcjcEy3+fc28AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "import sys\n",
    "import requests\n",
    "# If you are using a Jupyter notebook, uncomment the following line.\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.patches import Rectangle\n",
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "\n",
    "endpoint = \"https://wgj1119.cognitiveservices.azure.com/\"\n",
    "subscription_key = \"6fdd2ccca89448e7ae1c29852f6553b2\"\n",
    "\n",
    "ocr_url = endpoint + \"vision/v3.1/ocr\"\n",
    "\n",
    "# Set image_url to the URL of an image that you want to analyze.\n",
    "image_url = \"http://huangnanhui.gitee.io/api-job/image/wenzitupian2.jpg\"\n",
    "\n",
    "headers = {'Ocp-Apim-Subscription-Key': subscription_key}\n",
    "params = {'language': 'unk', 'detectOrientation': 'true'}\n",
    "data = {'url': image_url}\n",
    "response = requests.post(ocr_url, headers=headers, params=params, json=data)\n",
    "response.raise_for_status()\n",
    "\n",
    "analysis = response.json()\n",
    "\n",
    "# Extract the word bounding boxes and text.\n",
    "line_infos = [region[\"lines\"] for region in analysis[\"regions\"]]\n",
    "word_infos = []\n",
    "for line in line_infos:\n",
    "    for word_metadata in line:\n",
    "        for word_info in word_metadata[\"words\"]:\n",
    "            word_infos.append(word_info)\n",
    "word_infos\n",
    "\n",
    "# Display the image and overlay it with the extracted text.\n",
    "plt.figure(figsize=(5, 5))\n",
    "image = Image.open(BytesIO(requests.get(image_url).content))\n",
    "ax = plt.imshow(image, alpha=0.5)\n",
    "for word in word_infos:\n",
    "    bbox = [int(num) for num in word[\"boundingBox\"].split(\",\")]\n",
    "    text = word[\"text\"]\n",
    "    origin = (bbox[0], bbox[1])\n",
    "    patch = Rectangle(origin, bbox[2], bbox[3],\n",
    "                      fill=False, linewidth=2, color='y')\n",
    "    ax.axes.add_patch(patch)\n",
    "    plt.text(origin[0], origin[1], text, fontsize=20, weight=\"bold\", va=\"top\")\n",
    "plt.show()\n",
    "plt.axis(\"off\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
